package com.hst.capacity.domain.service;

import com.hst.capacity.domain.model.entity.invoice.InvoiceEntity;
import com.hst.capacity.domain.model.request.invoice.InvoiceLstParam;
import com.hst.capacity.domain.model.request.invoice.InvoiceParam;
import com.hst.capacity.domain.model.response.PagingResultVO;
import com.hst.capacity.domain.model.response.invoice.InvoiceVO;
import io.lettuce.core.dynamic.annotation.Param;

import java.util.List;

public interface InvoiceService {

    PagingResultVO<InvoiceVO> searchWithConditionsAndPaging(InvoiceLstParam param);

    InvoiceVO findByIdInvoice(String idInvoice);

    InvoiceVO findByIdOrder(String idOrder);

    InvoiceVO findByExternalOrderId(String idExternalOrder);

    String updInvoiceInfo(InvoiceParam param);

    String invalidInvoice(InvoiceParam param);

    List<InvoiceVO> findAllInvoiceLst(InvoiceLstParam param);

    void updInvoicePdfUrl(String invoiceUrl,String idInvoice);

}
